package protobuf {
	import com.netease.protobuf.*;
	use namespace com.netease.protobuf.used_by_generated_code;
	import com.netease.protobuf.fieldDescriptors.*;
	import flash.utils.Endian;
	import flash.utils.IDataInput;
	import flash.utils.IDataOutput;
	import flash.utils.IExternalizable;
	import flash.errors.IOError;
	import flash.utils.ByteArray;
	// @@protoc_insertion_point(imports)

	// @@protoc_insertion_point(class_metadata)
	public dynamic final class AUTH_MING_SHENG_METHOD_INFO extends com.netease.protobuf.Message {
		/**
		 *  @private
		 */
		public static const PUBLIC_KEY:FieldDescriptor$TYPE_BYTES = new FieldDescriptor$TYPE_BYTES("protobuf.AUTH_MING_SHENG_METHOD_INFO.public_key", "publicKey", (1 << 3) | com.netease.protobuf.WireType.LENGTH_DELIMITED);

		public var publicKey:flash.utils.ByteArray;

		/**
		 *  @private
		 */
		public static const TOKEN:FieldDescriptor$TYPE_BYTES = new FieldDescriptor$TYPE_BYTES("protobuf.AUTH_MING_SHENG_METHOD_INFO.token", "token", (2 << 3) | com.netease.protobuf.WireType.LENGTH_DELIMITED);

		public var token:flash.utils.ByteArray;

		/**
		 *  @private
		 */
		public static const OPERATOR_ID:FieldDescriptor$TYPE_BYTES = new FieldDescriptor$TYPE_BYTES("protobuf.AUTH_MING_SHENG_METHOD_INFO.operator_id", "operatorId", (3 << 3) | com.netease.protobuf.WireType.LENGTH_DELIMITED);

		public var operatorId:flash.utils.ByteArray;

		/**
		 *  @private
		 */
		override used_by_generated_code final function writeToBuffer(output:com.netease.protobuf.WritingBuffer):void {
			com.netease.protobuf.WriteUtils.writeTag(output, com.netease.protobuf.WireType.LENGTH_DELIMITED, 1);
			com.netease.protobuf.WriteUtils.write$TYPE_BYTES(output, this.publicKey);
			com.netease.protobuf.WriteUtils.writeTag(output, com.netease.protobuf.WireType.LENGTH_DELIMITED, 2);
			com.netease.protobuf.WriteUtils.write$TYPE_BYTES(output, this.token);
			com.netease.protobuf.WriteUtils.writeTag(output, com.netease.protobuf.WireType.LENGTH_DELIMITED, 3);
			com.netease.protobuf.WriteUtils.write$TYPE_BYTES(output, this.operatorId);
			for (var fieldKey:* in this) {
				super.writeUnknown(output, fieldKey);
			}
		}

		/**
		 *  @private
		 */
		override used_by_generated_code final function readFromSlice(input:flash.utils.IDataInput, bytesAfterSlice:uint):void {
			var public_key$count:uint = 0;
			var token$count:uint = 0;
			var operator_id$count:uint = 0;
			while (input.bytesAvailable > bytesAfterSlice) {
				var tag:uint = com.netease.protobuf.ReadUtils.read$TYPE_UINT32(input);
				switch (tag >> 3) {
				case 1:
					if (public_key$count != 0) {
						throw new flash.errors.IOError('Bad data format: AUTH_MING_SHENG_METHOD_INFO.publicKey cannot be set twice.');
					}
					++public_key$count;
					this.publicKey = com.netease.protobuf.ReadUtils.read$TYPE_BYTES(input);
					break;
				case 2:
					if (token$count != 0) {
						throw new flash.errors.IOError('Bad data format: AUTH_MING_SHENG_METHOD_INFO.token cannot be set twice.');
					}
					++token$count;
					this.token = com.netease.protobuf.ReadUtils.read$TYPE_BYTES(input);
					break;
				case 3:
					if (operator_id$count != 0) {
						throw new flash.errors.IOError('Bad data format: AUTH_MING_SHENG_METHOD_INFO.operatorId cannot be set twice.');
					}
					++operator_id$count;
					this.operatorId = com.netease.protobuf.ReadUtils.read$TYPE_BYTES(input);
					break;
				default:
					super.readUnknown(input, tag);
					break;
				}
			}
		}

	}
}
